﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;

public partial class cuentaCorriente : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        buscar1.Attributes.Add("OnClick", "javascript:popUpClientes();");

       /* if (!IsPostBack)
        {

            SqlDataSource1.SelectParameters.Clear();
            SqlDataSource1.SelectCommand = "SELECT  * fROM cliente_facturas cf, cliente_cc ccc, cliente_cc_detalle cd where ccc.cod_cliente_cc = cd.cod_cliente_cc and cf.cod_cliente_cc_detalle = cd.cod_cliente_cc_detalle and ccc.cod_cliente = @cod_cliente";
            SqlDataSource1.SelectParameters.Add("cod_cliente", TypeCode.Int32, nombreTex.Text);
          
            SqlDataSource1.SelectCommandType = SqlDataSourceCommandType.Text;
            facturas.DataBind();

        }*/
        
    }
   
    
    protected void AgregarProducto_Click(object sender, ImageClickEventArgs e)
    {
     
            String cadena = (String)ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
            SqlConnection conexion = new SqlConnection(cadena);
            try
            {
                conexion.Open();

                SqlCommand select = new SqlCommand();                
                SqlCommand comando = new SqlCommand();


                    comando.Connection = conexion;
                    comando.CommandType = System.Data.CommandType.StoredProcedure;

                    
                   

                    if (nombreTex.Text == "")
                    {

                        Page.RegisterStartupScript("alerta", "<SCRIPT> alerta('Los campos con * deben ser completados') </SCRIPT>");

                    }
                    else
                    {
                        select.CommandText = "Select cod_cliente from cliente_cc where cod_cliente=" + nombreTex.Text;
                        select.Connection = conexion;
                        select.CommandType = CommandType.Text;
                        SqlDataReader cliente_reader = select.ExecuteReader();
                        cliente_reader.Read();
                        Clitex.Text = cliente_reader.GetValue(0).ToString();
                        cliente_reader.Close();

                        if (Clitex.Text == null)
                        {

                            comando.CommandText = "insertar_cliente_cc";
                            comando.Parameters.AddWithValue("@cod_cliente", nombreTex.Text);


                            SqlDataReader reader = comando.ExecuteReader();
                            Page.RegisterStartupScript("alerta", "<SCRIPT> alerta('Datos Correctamente Guardados') </SCRIPT>");

                        }
                        else
                        {
                            Page.RegisterStartupScript("alerta", "<SCRIPT> alerta('El cliente ya posee una Cuenta Corriente') </SCRIPT>");
                        }
                    }

            }
            catch (Exception error)
            {
                Page.RegisterStartupScript("alerta", "<SCRIPT> alerta(" + error.Message.ToString() + ") </SCRIPT>");
                hola.Text = "no guardado catch";
            }
            finally
            {
                conexion.Close();
            }
        }
    
    protected void buscar3_Click(object sender, ImageClickEventArgs e)
    {

        String cadena = (String)ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        SqlConnection conexion = new SqlConnection(cadena);
        conexion.Open();
        SqlCommand saldo_total = new SqlCommand();
        SqlCommand estado = new SqlCommand();
        SqlCommand cliente = new SqlCommand();
        SqlCommand numero = new SqlCommand();
        SqlCommand saldoPo = new SqlCommand();

        //si cliente no esta vacio
        if(!(nombreTex.Text == "")){
            SqlDataSource1.SelectParameters.Clear();
            SqlDataSource1.SelectCommand = "select * from factura_ventas_cc_detalle fvccd, factura_ventas fv where fvccd.estado = 'P' and fvccd.cod_factura_ventas = fv.cod_factura_ventas and fv.cod_cliente = @cod_cliente order by fv.cod_factura_ventas";
            SqlDataSource1.SelectParameters.Add("cod_cliente", TypeCode.Int32, nombreTex.Text);
            facturaVentas1.DataBind();

            SqlDataSource2.SelectParameters.Clear();
            SqlDataSource2.SelectCommand = "select * from factura_ventas_cc_detalle fvccd, factura_ventas fv where fvccd.estado = 'C' and fvccd.cod_factura_ventas = fv.cod_factura_ventas and fv.cod_cliente = @cod_cliente order by fv.cod_factura_ventas";
            SqlDataSource2.SelectParameters.Add("cod_cliente", TypeCode.Int32, nombreTex.Text);
            facturaVentas2.DataBind();
             
        }
      
        numero.CommandText = "select N_Cuenta from cliente_cc where cod_cliente =" + nombreTex.Text;
        numero.Connection = conexion;
        numero.CommandType = CommandType.Text;

        SqlDataReader numero_reader = numero.ExecuteReader();
        numero_reader.Read();
        numTex.Text = numero_reader.GetValue(0).ToString();
        numero_reader.Close();


        saldo_total.CommandText = "select saldo_total  from cliente_cc where cod_cliente ="+nombreTex.Text;
        estado.CommandText = "select estado from cliente_cc where cod_cliente= "+nombreTex.Text;
        saldoPo.CommandText = "select saldo_positivo from cliente_cc where cod_cliente= "+nombreTex.Text;

        saldo_total.Connection = conexion;
        estado.Connection = conexion;
        saldoPo.Connection = conexion;

        saldo_total.CommandType = CommandType.Text;
        estado.CommandType = CommandType.Text;
        saldoPo.CommandType = CommandType.Text;

        SqlDataReader saldo_reader = saldo_total.ExecuteReader();
        saldo_reader.Read();
        saldoTex.Text = saldo_reader.GetValue(0).ToString();       
        saldo_reader.Close();

        SqlDataReader estado_reader = estado.ExecuteReader();
        estado_reader.Read();
        estadoTex.Text = estado_reader.GetValue(0).ToString();
        estado_reader.Close();

        SqlDataReader saldoPo_reader = saldoPo.ExecuteReader();
        saldoPo_reader.Read();
        saldoPTex.Text = saldoPo_reader.GetValue(0).ToString();
        saldoPo_reader.Close();


        SqlCommand totales = new SqlCommand();
        totales.CommandText = "select COUNT(cod_factura_ventas_cc_detalle) as cantidad from factura_ventas_cc_detalle fvccd , factura_ventas fv where fvccd.estado = 'P' and fvccd.cod_factura_ventas = fv.cod_factura_ventas and fv.cod_cliente =" + nombreTex.Text;
        totales.Connection = conexion;
        totales.CommandType = CommandType.Text;

        SqlDataReader totales_reader = totales.ExecuteReader();
        totales_reader.Read();
        tot12.Text = totales_reader.GetValue(0).ToString();
        totales_reader.Close();

        SqlCommand totales2 = new SqlCommand();
        totales2.CommandText = "select COUNT(cod_factura_ventas_cc_detalle) as cantidad from factura_ventas_cc_detalle fvccd , factura_ventas fv where fvccd.estado = 'C' and fvccd.cod_factura_ventas = fv.cod_factura_ventas and fv.cod_cliente =" + nombreTex.Text;
        totales2.Connection = conexion;
        totales2.CommandType = CommandType.Text;

        SqlDataReader totales_reader2 = totales2.ExecuteReader();
        totales_reader2.Read();
        tot2.Text = totales_reader2.GetValue(0).ToString();
        totales_reader2.Close();


    }
    protected void buscar1_Click(object sender, ImageClickEventArgs e)
    {

    }
    protected void buscar2_Click(object sender, ImageClickEventArgs e)
    {
  
    }
}

